home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Devices.idl < prev    next >
Text File  |  1996-05-01  |  7KB  |  228 lines

  1. /*
  2.      File:        Devices.idl
  3.  
  4.      Contains:    Device Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5 and 8
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DEVICES_IDL__
  19. #define __DEVICES_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __OSUTILS_IDL__
  25. #include <OSUtils.idl>
  26. #endif
  27. #ifndef __FILES_IDL__
  28. #include <Files.idl>
  29. #endif
  30. #ifndef __QUICKDRAW_IDL__
  31. #include <Quickdraw.idl>
  32. #endif
  33. #ifndef __EVENTS_IDL__
  34. #include <Events.idl>
  35. #endif
  36. #if FOR_SYSTEM7_ONLY
  37. #ifndef __DIALOGS_IDL__
  38. #include <Dialogs.idl>
  39. #endif
  40. #endif
  41. #ifndef __KERNEL_IDL__
  42. #include <Kernel.idl>
  43. #endif
  44. #ifndef __NAMEREGISTRY_IDL__
  45. #include <NameRegistry.idl>
  46. #endif
  47. #ifndef __CODEFRAGMENTS_IDL__
  48. #include <CodeFragments.idl>
  49. #endif
  50. #ifndef __DRIVERFAMILYMATCHING_IDL__
  51. #include <DriverFamilyMatching.idl>
  52. #endif
  53. #ifndef __IOITERATOR_IDL__
  54. #include <IOIterator.idl>
  55. #endif
  56.  
  57. #ifdef __SOMIDL__
  58.  
  59. /* Values of the 'message' parameter to a Chooser device package */
  60. /* Values of the 'caller' parameter to a Chooser device package */
  61. /* Values of the 'message' parameter to a Control Panel 'cdev' */
  62. /* Special values a Control Panel 'cdev' can return */
  63. /* Values of the 'message' parameter to a Monitor 'mntr' */
  64. /* control codes for DeskAccessories */
  65. /* Control/Status Call Codes */
  66. /* miscellaneous Device Manager constants */
  67. /* flags used in the driver header and device control entry */
  68. /* run-time flags used in the device control entry */
  69. typedef SOMLargeStruct            DRVRHeader;                    /* Derived from a struct of 19 bytes in size */
  70.  
  71. typedef OpaquePtr                DRVRHeaderPtr;                /* Substituted OpaquePtr for ``DRVRHeader*'' */
  72.  
  73. typedef OpaquePtr                DRVRHeaderHandle;            /* Substituted OpaquePtr for ``DRVRHeaderPtr*'' */
  74.  
  75. #if FOR_SYSTEM7_ONLY
  76. typedef SOMLargeStruct            DCtlEntry;                    /* Derived from a struct of 40 bytes in size */
  77.  
  78. #else
  79. typedef SOMLargeStruct            DCtlEntry;                    /* Derived from a struct of 40 bytes in size */
  80.  
  81. #endif
  82. typedef OpaquePtr                DCtlPtr;                    /* Substituted OpaquePtr for ``DCtlEntry*'' */
  83.  
  84. typedef OpaquePtr                DCtlHandle;                    /* Substituted OpaquePtr for ``DCtlPtr*'' */
  85.  
  86. #if FOR_SYSTEM7_ONLY
  87. typedef SOMLargeStruct            AuxDCE;                        /* Derived from a struct of 56 bytes in size */
  88.  
  89. typedef OpaquePtr                AuxDCEPtr;                    /* Substituted OpaquePtr for ``AuxDCE*'' */
  90.  
  91. typedef OpaquePtr                AuxDCEHandle;                /* Substituted OpaquePtr for ``AuxDCEPtr*'' */
  92.  
  93. #else
  94. typedef SOMLargeStruct            AuxDCE;                        /* Derived from a struct of 56 bytes in size */
  95.  
  96. typedef OpaquePtr                AuxDCEPtr;                    /* Substituted OpaquePtr for ``AuxDCE*'' */
  97.  
  98. typedef OpaquePtr                AuxDCEHandle;                /* Substituted OpaquePtr for ``AuxDCEPtr*'' */
  99.  
  100. #endif
  101. /*    The NDRV Driver IO Entry Point and Commands */
  102. typedef UInt16                    UnitNumber;
  103.  
  104. typedef UInt32                    DriverOpenCount;
  105.  
  106. typedef SInt16                    DriverRefNum;
  107.  
  108. typedef SInt16                    DriverFlags;
  109.  
  110. typedef UInt32                    IOCommandCode;
  111.  
  112. typedef OpaquePtr                IOCommandID;
  113.  
  114. typedef UInt32                    IOCommandKind;
  115.  
  116. typedef SOMLargeStruct            DriverInitInfo;                /* Derived from a struct of 18 bytes in size */
  117.  
  118. typedef OpaquePtr                DriverInitInfoPtr;            /* Substituted OpaquePtr for ``DriverInitInfo*'' */
  119.  
  120. typedef DriverInitInfo            DriverReplaceInfo;
  121.  
  122. typedef OpaquePtr                DriverReplaceInfoPtr;        /* Substituted OpaquePtr for ``DriverInitInfo*'' */
  123.  
  124. typedef SOMLargeStruct            DriverFinalInfo;            /* Derived from a struct of 18 bytes in size */
  125.  
  126. typedef OpaquePtr                DriverFinalInfoPtr;            /* Substituted OpaquePtr for ``DriverFinalInfo*'' */
  127.  
  128. typedef DriverFinalInfo            DriverSupersededInfo;
  129.  
  130. typedef OpaquePtr                DriverSupersededInfoPtr;    /* Substituted OpaquePtr for ``DriverFinalInfo*'' */
  131.  
  132. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  133. /* Contents are command specific*/
  134. typedef SOMLargeStruct            IOCommandContents;            /* Derived from a struct of 20 bytes in size */
  135.  
  136. #else
  137. typedef SOMLargeStruct            IOParam;                    /* Derived from a struct of 50 bytes in size */
  138.  
  139. typedef OpaquePtr                IOParamPtr;                    /* Substituted OpaquePtr for ``IOParam*'' */
  140.  
  141. typedef SOMLargeStruct            CntrlParam;                    /* Derived from a struct of 50 bytes in size */
  142.  
  143. typedef OpaquePtr                CntrlParamPtr;                /* Substituted OpaquePtr for ``CntrlParam*'' */
  144.  
  145. typedef SOMLargeStruct            ParamBlockRec;                /* Derived from a struct of 100 bytes in size */
  146.  
  147. typedef OpaquePtr                ParmBlkPtr;                    /* Substituted OpaquePtr for ``ParamBlockRec*'' */
  148.  
  149. typedef SOMLargeStruct            IOCommandContents;            /* Derived from a struct of 20 bytes in size */
  150.  
  151. #endif
  152. typedef OpaquePtr DriverEntryPointPtr;
  153. /* Record to describe a file-based driver candidate */
  154. typedef SOMLargeStruct            FileBasedDriverRecord;        /* Derived from a struct of 110 bytes in size */
  155.  
  156. typedef OpaquePtr                FileBasedDriverRecordPtr;    /* Substituted OpaquePtr for ``FileBasedDriverRecord*'' */
  157.  
  158. /* Driver Loader API */
  159. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  160. #if FOR_SYSTEM7_ONLY
  161. #else
  162. #endif
  163. #endif
  164. #if !OLDROUTINELOCATIONS
  165. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  166. #endif
  167. #endif
  168. /* Control Panel Default Proc */
  169. #if FOR_SYSTEM7_ONLY
  170. typedef OpaquePtr ControlPanelDefProcPtr;
  171. typedef OpaquePtr ControlPanelDefUPP;
  172. #endif
  173. /*
  174.     SetChooserAlert used to simply set a bit in a low-mem global
  175.     to tell the Chooser not to display its warning message when
  176.     the printer is changed. However, under MultiFinder and System 7,
  177.     this low-mem is swapped out when a layer change occurs, and the
  178.     Chooser never sees the change. It is obsolete, and completely
  179.     unsupported on the PowerPC. 68K apps can still call it if they
  180.     wish.
  181.     
  182. */
  183. #if OLDROUTINENAMES && !GENERATINGCFM
  184. #endif
  185. /*
  186.   Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
  187.           There will soon be a DriverInstall() which does the right thing.
  188.  
  189.         DrvrRemove has been renamed to DriverRemove.  But, InterfaceLib for PowerPC
  190.         still exports DrvrRemove, so a macro is used to map the new name to old.
  191.  
  192. */
  193. /*
  194.     Shim mechnanism only exist in Copland world.  A Shim is a translation layer
  195.     and looks like a DRVR. 
  196. */
  197. typedef OpaquePtr ShimEntryPoint;
  198. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  199. #endif
  200. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  201. #endif
  202. #if CGLUESUPPORTED
  203. #endif
  204. #if OLDROUTINENAMES
  205. /*
  206.     The PBxxx() routines are obsolete.  
  207.     
  208.     Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
  209. */
  210. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  211. #if !OLDROUTINELOCATIONS
  212. #endif
  213. #endif
  214. #endif
  215. #if FOR_SYSTEM8_PREEMPTIVE
  216. /*
  217. //////////////////////////////////////////////////////////////////////////////
  218.  System 8 Ndrv requests entry point drivers
  219. */
  220. typedef SOMLargeStruct            DeviceManagerIOIteratorData; /* Derived from a struct of 152 bytes in size */
  221.  
  222. #endif
  223.  
  224. #endif /* __SOMIDL__ */
  225.  
  226. #endif /* __DEVICES_IDL__ */
  227.  
  228.